
var HISTORIAL = {
	ultimo_id : '0',
    actualizar: true //'on'
}

HISTORIAL.agregarEvento = function(){
    //     $("#loguer-rck").append("<li> <span>3:05 pm :</span>  un nuevo item.</li>");
    $("#loguer-rck").prepend("<li> <span>3:05 pm :</span>  un nuevo item.</li>");
    //    console.log("agregado")
    //    $("#loguer-rck").scrollTo(0,0);
    //    $("#loguer-rck").scrollTo( 'li:eq(1)', {duration:3000});
    //$("#loguer-rck").slideDown('slow')
    //
    //    document.getElementById("loguer-rck").scrollTo(0,0);
    //    $("#loguer_conteiner").scrollTop(0)
    $("#loguer_conteiner").animate({
        scrollTop:0
    }, 'slow');
	
	//
	//$("#loguer-rck li:eq(0)").resaltar();
	
//    $("#loguer_conteiner").animate({scrollTop:0}, { duration : 200});
    
//Ext.getCmp('details-panel').scrollTop = 0;
//Ext.getCmp('details-panel').scroller.setOffset(0,20)
        
}

HISTORIAL.agregarEvento = function(msj){
	//console.trace()
    $("#loguer-rck").prepend("<li> <span>"+(new Date()).toString('h:mm tt')+" : </span>"+msj+"</li>");
    $("#loguer_conteiner").animate({
        scrollTop:0
    }, 'slow');
	
    $("#loguer-rck li:eq(0)").resaltar({r:'0',g:'255',b:'0'});
	// showStickySuccessToast(msj);  
}

HISTORIAL.agregarEventoToDb = function(msj, opciones){
    //console.trace()
    //PROGRAMAR ACA!!!
    var defaults = {
        areas_involucradas:'',
        log_user:0
    };    
    var opts = $.extend({}, defaults, opciones);  
    
    var query =  "INSERT INTO z_logs ";
        query += "(log_fecha, log_info, areas_involucradas, log_user) ";
        query += "VALUES ";
        query += "(NOW(),'" + msj + "','" + opts.areas_involucradas + "','" + opts.log_user + "')";
    
    js_mysql_query(query);
	
}


HISTORIAL.agregarEventoHora = function(hora, msj){
	//console.trace()
        
    $("#loguer-rck").append("<li> <span>"+ hora + " : </span>"+msj+"</li>");
     
    //console.error("al historial de eventos", hora, msj); 
    // 
    // $("#loguer_conteiner").animate({
        // scrollTop:0
    // }, 'slow');
      
}

HISTORIAL.agregarEventoHoraArriba = function(hora, msj, opciones){ //arriba de los otros logs
	//console.trace()
    var defaults = {
        resaltar: true
    };       
        
    var opts = $.extend({}, defaults, opciones); 
    
    $("#loguer-rck").prepend("<li> <span>"+ hora + " : </span>"+msj+"</li>");
    
	// $("#loguer-rck li:eq(0)").resaltar();
    if(opts.resaltar)
        $("#loguer-rck li:eq(0)").resaltar({r:'0',g:'255',b:'0'});
    
    $("#loguer_conteiner").animate({
        scrollTop:0
    }, 'fast');
}



HISTORIAL.func = function(){

}

HISTORIAL.vaciar = function(){
	//console.trace()
	$('#loguer-rck').empty();
        this.ultimo_id = '0';
        
}
/*
for(var i=0; i < 3; i++){  	
        
        (function(){
            $("#loguer-rck").append("<li> <span> ss : </span> 51 </li>");            
        })();
        
    }
    */

HISTORIAL.iniciar = function(){
		
	//this.vaciar();
	
	//var obj = js_mysql_query("SELECT * FROM z_logs ORDER BY log_id DESC LIMIT 20");
        var query =  "SELECT * FROM z_logs ";
            //query += "areas_involucradas IN ("+SISTEMA.oUser.atributos.id_rep_dep+") ORDER BY log_id DESC LIMIT 20"; 
            query += "WHERE areas_involucradas LIKE '%" + SISTEMA.oUser.atributos.id_rep_dep + "%' ORDER BY log_id DESC LIMIT 30"; 
	
        var obj = js_mysql_query(query, { async: false}	);
	// console.error("obj: ",obj)
	
        HISTORIAL.agregarEventoHora('Hoy', 'Bienvenido al Sistema.');
        
        if(obj.total == 0){
            //this.agregarEventoHoraArriba( "Hoy", "Sin eventos..");
        } 
		else{                    
          this.showEventosInDiv(obj,{sentido:'ABAJO', resaltar:false});          
        } 
	       
	//guardo el ultimo id
	var res = js_mysql_query("SELECT log_id FROM z_logs WHERE areas_involucradas LIKE '%" + SISTEMA.oUser.atributos.id_rep_dep + "%' ORDER BY log_id DESC LIMIT 1");
	this.ultimo_id = (obj.total == 0)? 0:res.objetos[0].log_id;
}

HISTORIAL.showEventosInToast = function(obj){	
	for(var i=0; i < obj.total; i++){ 

            if(obj.objetos[i].log_user != SISTEMA.UserId)
		showStickySuccessToast(obj.objetos[i].log_info);
	}
}

HISTORIAL.showEventosInDiv = function(obj, options){
    
    //console.log("options: ", options)
    
    var defaults = {
        sentido:'ABAJO',
        resaltar:true
    };    
    var opts = $.extend({}, defaults, options);  
	
    var fecha = "";

    //console.info("eventos a dibujar: " + obj.total)

    for(var i=0; i < obj.total; i++){  	
        //console.error(obj.objetos[i].log_info)
        // var fecha = (Date.parse(obj.objetos[i].log_fecha)).toString('h:mm tt');
        // var fecha = obj.objetos[i].log_fecha;
		
        var fecha_leida = (Date.parse(obj.objetos[i].log_fecha)).toString('dd/MM/yyyy');
		
        if((new Date()).toString('dd/MM/yyyy') == fecha_leida ){
            fecha = (Date.parse(obj.objetos[i].log_fecha)).toString('h:mm tt');
        }else if((Date.today().add({
            days: -1
        })).toString('dd/MM/yyyy') == fecha_leida ){
            fecha = "Ayer";
        }else{
            fecha = (Date.parse(obj.objetos[i].log_fecha)).toString('d/MM');
        }	   
		
        // fecha = "Ayer";
		
        if(opts.sentido == 'ABAJO') this.agregarEventoHora( fecha, obj.objetos[i].log_info);
        else{
            this.agregarEventoHoraArriba( fecha, obj.objetos[i].log_info, {resaltar: opts.resaltar});
        
//            $("#loguer_conteiner").animate({
//                scrollTop:0
//            }, 'fast');

        } 
        
        //console.log("resaltar: ", opts)
    }
}

HISTORIAL.refresh = function(){
	if(!this.actualizar){
		return "no actualizo";
	}
	
	var obj_h = this;	
	$.ajax({        
		type: "POST",        
		url: "ajax_php/query_executor.php",        
		data: "query=" + encodeURIComponent("SELECT * FROM z_logs WHERE log_id > "+obj_h.ultimo_id+" AND areas_involucradas LIKE '%" + SISTEMA.oUser.atributos.id_rep_dep + "%' ORDER BY log_id ASC"),        
		async: true,
		dataType: "json",
		success: function(obj){
			obj_h.showEventosInToast(obj);
			obj_h.showEventosInDiv(obj, {sentido:'ARRIBA'});
			$.each(obj.objetos||[],function(key, value){
				obj_h.ultimo_id = value.log_id;
			});
	    },
		error: function (xhr, ajaxOptions, thrownError) {
			alert(xhr.status);
			alert(thrownError);
		}		   
	});
	// console.log("actualizado")
}

